02 Aug 2025

feedDjango community aggregator: Community blog posts

Announcing django-generic-notifications 1.0.0

Back in 2011, I started a small Django package called django-generic-notifications. It was built for a project I was working on at the time, got seven releases over a few months… and then it more or less died. Once I moved on from that original project, there wasn't much reason to keep maintaining the library. It never gained a big user base, no pull requests or issues came in, and eventually I archived the repository.

Fast forward to a few weeks ago, and I found myself needing a good, flexible notification system for a new Django project. I checked out a few third-party options, but none of them quite fit what I had in mind. I wasn't super eager to revive django-generic-notifications - it was very old, still using South for migrations (yes, that old) - but in the end, I decided to bring it back to life. Or rather, to start fresh.

So here it is: version 1.0.0 of django-generic-notifications. A complete rewrite, with the same core architecture but a modern, cleaned-up implementation. It's more flexible, more powerful, and a lot more useful.

What is django-generic-notifications?

At its core, this package helps you send notifications to your users through different channels like email or your website. It's built around the idea of defining notification types in your code, and then letting the library handle how and when to deliver them to your users.

Want to show a bell icon on your website when a user gets a new comment? Easy. Want to send them a weekly email digest with grouped notifications? Also easy. Want to build your own Slack or push notification integration? Go for it.

Highlights

Get started

Check out the project on GitHub: github.com/loopwerk/django-generic-notifications.

The README walks you through installation, configuration, and how to define your own notification types. You can be up and running in just a few minutes. Let me know how you like it!

02 Aug 2025 7:09pm GMT

Solving bots registration problem by “reinventing the wheel”

<![CDATA[ Solving bots registration problem by "reinventing the wheel"

Ever since I launched ImpressKit in 2021 I had issues with spammy bot registrations. Usually at least a few times a month these would be like twenty new user accounts that were obviously bots.

I figured that it just a cost of having product with registration but over the years I got more and more annoyed. It messed up my stats dashboard, I was sending emails to weird addresses and I think I even got complaint from someone saying the did not register after receiving a login confirmation email.

Some months ago I finally had enough and decided to try to tackle this. I did not want to use 3rd party captcha because these are annoying and it is another part that I would need to monitor and possibly update…

But what should I use? After some thinking I arrived at solution that seemed both simple and like it could work. I added required "questionnaire" to the register form asking the prospective user what the project is about. I made sure the correct answer wasn't the first radio button.

When incorrect option is selected, then the form just redirects to new page explaining that the answer is incorrect and no user account is created.

The results?

I am happy to report that ever since deploying this I did not spot any suspicious new account registration. Even though the "captcha" is super easy to defeat - I don't think anyone is going to create custom bot behavior for my small project.

]]

02 Aug 2025 2:28pm GMT

01 Aug 2025

feedDjango community aggregator: Community blog posts

Django News - Django and AI - Aug 1st 2025

News

Djangonaut Session 5 - Officer and Organizer Interest

A form to gauge returning officer and session organizer interest for the next session!

google.com

PyPI Users Email Phishing Attack - The Python Package Index Blog

Phishing emails exploit PyPI package metadata by directing users to fake login pages that mimic PyPI, prompting developers to verify URLs and update passwords.

pypi.org

Djangonaut Space is looking for contributors to be mentors

Posted by Djangonaut Space session organizers on July 31, 2025

djangoproject.com

Updates to Django

Today 'Updates to Django' is presented by Pradhvan from the Djangonaut Space! 🚀

Last week we had 16 pull requests merged into Django by 11 different contributors including 3 first-time contributors! Congratulations to Anthony Sottile, Mohamed Amine Mahmoud and Take Weiland for having their first commits merged into Django, welcome on board! 🎉

This week's Django highlights 🌟

Migrated django.core.mail to Python's current email API, replacing legacy email handling with modern implementation.

Added hints support for PostgreSQL contrib operations, enabling database routers to make informed decisions in multi-database migration scenarios.

Introduced accessibility guidelines and established accessibility standards that conform with the Web Content Accessibility Guidelines (WCAG) standards and along with best practices from Authoring Tool Accessibility Guidelines (ATAG).

Improved GEOS error messages and tests, enhancing developer experience with better error messages.

That's all for this week in Django development! 🐍🦄

Django Newsletter

Wagtail CMS

AI in the CMS: steering the ecosystem

Wagtail introduces opt-in, ethical AI enhancements that leverage Django's ecosystem for contextual alt text, content summarization, and improved admin customization.

wagtail.org

20,000 Django packages

Detailed PyPI analysis reveals over 23,000 Django packages with active releases, while Wagtail leverages both generic and specialized packages to boost development.

wagtail.org

Articles

Is AI Leaving the Python Community Behind?

Even as AI-focused talks dominate Python conferences, there is a corresponding lack of support from AI companies in the Python communities.

georgiker.com

Django: split `ModelAdmin.get_queryset()` by view

Customizing get_queryset per Django admin view using resolver_match.func.name enables precise database query optimizations that reduce unnecessary joins and improve performance.

adamj.eu

AI and Me: A Developer's Perspective

Reflections on using AI in software development-from autocomplete gripes to Claude Code breakthroughs, and why agents need seniors, not sorcery.

someonewho.codes

Our tools are still not designed for the AI future

The article explores an AI-first IDE paradigm that prioritizes agent workflows and spec-driven development to transform coding and code review processes.

softwarecrafts.co.uk

Why We Need to Stop Fighting About AI Tools and Start Teaching Them

LLM-based coding agents streamline boilerplate production so that Django developers can concentrate on building innovative architecture and solving complex design challenges.

ryancheley.com

Loopwerk: Why Django's DATETIME_FORMAT ignores you (and how to fix it)

Django admin defaults to 12-hour clocks due to locale precedence, but developers can enforce 24-hour time by configuring FORMAT_MODULE_PATH and translation overrides.

loopwerk.io

From Not Knowing Programming Was a Job to GSoC and Contributing to Django Core

Contributed inline template partials to Django core for improved component reuse and rendering via HTMX amid a journey from novice programmer to GSoC participant.

farhana.li

Thoughts on HTML mails

Implement HTML notification emails using Django send_mail to deliver visually appealing, skimmable messages with a clear call-to-action and enhanced accessibility.

hyteck.de

I was wrong about robots.txt

A good lesson about unintended consequences that may come out of blocking all UserAgents in your robots.txt file.

evgeniipendragon.com

Events

The DjangoCon US 2025 schedule has been released!

DjangoCon US 2025 schedule includes diverse Django talks covering AI deployment, project maintainability, high performance techniques, and MongoDB integration among other topics.

djangocon.us

Getting to know folks: A pre-conference interview

DjangoCon US 2025 pre-conference interview highlights community diversity, organizer insights, and speaker experiences to foster mentorship and global excitement for Django development.

djangocon.us

DjangoCon Videos

One Thousand and One Django Sites with Vince Salvino

Told in the storybook style of "One Thousand and One Nights" (a.k.a. "Arabian Nights") this talk will feature real-world stories about strategies and challenges we have encountered along our journey of hosting over 1,000 Django/Wagtail sites.

djangotv.com

Django Admin at Scale: From Milliseconds to Microseconds with Sumit Singh

Is your Django Admin crawling with millions of records? Join me in exploring battle-tested optimization techniques that transform Django Admin from sluggish to lightning-fast. From smart queries to caching strategies, you'll learn practical solutions to scale your admin interface while keeping it user-friendly. Performance isn't just a feature-it's a necessity!

djangotv.com

Just-in-Time Development with Django and HTMX: Faster, Leaner, and Smarter with Thomas De Bonnet

Learn how Just-in-Time development with Django & HTMX can make your apps faster and more efficient! Fetch only what users need, when they need it-like loading dropdown data on hover or filling a modal when opened. Boost performance, save resources, and enhance UX!

djangotv.com

Sponsored Link 2

AI-Powered Django Development & Consulting

REVSYS specializes in seamlessly integrating powerful AI technologies, including GPT-4, into your existing Django applications. Your Django project deserves modern, intelligent features that enhance user engagement and streamline content workflows.

revsys.com

Podcasts

Abstractions: Semi-Coherent Output

Abstractions discusses evolving AI challenges and layered technologies affecting software development dynamics relevant to modern Django application practices.

pod.link

Django News Jobs

Senior Backend Engineer at Prowler

Full Stack Engineer at LevPro

Backend Engineer at 7Learnings

Django Newsletter

Projects

simonw/simonwillisonblog

The source code behind Simon Willison's high-traffic personal site.

github.com

ephes/django-indieweb

Just some of the indieweb endpoints for Django.

github.com

Sponsorship

Lightning-Fast Python: Mastering the uv Package Manager - Livestream on August 7th

Register for an upcoming livestream featuring Michael Kennedy, host of Talk Python to Me and Python Bytes podcasts, on August 7th at 11am Eastern Daylight Time (UTC-4).

jetbrains.com


This RSS feed is published on https://django-news.com/. You can also subscribe via email.

01 Aug 2025 3:00pm GMT